from tkinter import *
import os
import json
import requests

'''
此模块提供中英文互译功能
'''

class translationtest():
    def __init__(self):
        pass

    def windowsfour(self,root):
        w = Toplevel(root)
        w.title('中英互译工具')
        w.geometry('400x200')
        w.geometry('+600+400')
        w.maxsize(width='400',height='200')

        #标签页，用于注释说明
        l1 = Label(w,text='中英互译，请确保网络正常',font='5')
        l1.grid(row=1,column=1,padx=5,pady=5)

        l2 = Label(w,text='输入框',font='5',bg='yellow')
        l2.grid(row=2,column=0,padx=5,pady=5)

        l3 = Label(w,text='结果',font='5',bg='yellow')
        l3.grid(row=3,column=0,padx=5,pady=5)

        #输入框
        self.e1 = Entry(w)
        self.e1.grid(row=2,column=1,padx=5,pady=5)

        #开始按键
        b1 = Button(w,text='开始',font='5',bg='red',command=four.getresult)
        b1.grid(row=2,column=2,padx=5,pady=5)

        #输出框
        self.var=StringVar()
        print(self.var)
        self.e2 = Entry(w,textvariable=self.var)
        self.e2.grid(row=3,column=1,padx=5,pady=5)

        #退出按键
        # b2 = Button(w,text='退出',font='5',bg='red',command=quit)
        # b2.grid(row=3,column=2,padx=5,pady=5)

        w.mainloop()

    def getresult(self):
        #得到输入框中输入的值
        url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'   #注意这里的url，要把translate_o后面的o去掉
        headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'}
        content = self.e1.get()                  #获取输入框中的内容
        data = {
            'i':content,                      #将输入框中的内容传到这里
            'doctype': 'json'}
        r = requests.post(url,headers=headers,data=data).content.decode()       #获取json的文件
        res = json.loads(r)['translateResult'][0][0]['tgt']                      #获取结果
        print(r)
        self.var.set(res)                                                        #将函数输出的结果传到输出框

#类实例化 
four=translationtest()

#模块单独执行的时候，把下面的井号去掉即可
#four.windowsfour()






